home *** CD-ROM | disk | FTP | other *** search
- \ Get/Set the date and time on a file
-
- only forth system also forth hidden also forth definitions
-
- create datebuf 2 /w* allot
-
- : >buf ( s m h d m y -- )
- dmy> datebuf wa1+ w! hms> datebuf w!
- ;
- : buf> ( -- s m h d m y )
- datebuf w@ >hms datebuf wa1+ w@ >dmy
- ;
- : set-date&time ( sec min hour day mon year filename -- )
- >r >buf r>
- 0 swap f_open dup 0< abort" Can't open file" ( handle )
- 1 over datebuf f_datime ( handle )
- f_close drop
- ;
- : get-date&time ( filename -- sec min hour day mon year )
- 0 swap f_open dup 0< abort" Can't open file" ( handle )
- 0 over datebuf f_datime ( handle )
- f_close drop
- buf>
- ;
- : touch-all ( -- ) \ Set the date and time on all files to right now
- [""] *.* file-pattern
- begin another-file?
- while now today filename set-date&time
- repeat
- ;
- : (date ( pattern -- )
- file-pattern
- begin another-file?
- while filename ".
- filename get-date&time ( s m h d m y )
- td 14 to-column .date ( s m h )
- td 40 to-column .time cr
- exit? if exit then
- repeat
- ;
- : date \ pattern ( -- )
- get-filename (date
- ;
- only forth also definitions
-